package com.fin.quant.domain.service;

import java.util.List;

/**
 * 筛选领域服务接口
 */
public interface FilterDomainService {

    /**
     * 获取所有筛选选项
     */
    Object getFilterOptions();

    /**
     * 获取行业列表
     */
    List<String> getSectors();

    /**
     * 获取市场列表
     */
    List<String> getMarkets();

    /**
     * 获取资产类型列表
     */
    List<String> getAssetTypes();

    /**
     * 获取风险等级列表
     */
    List<String> getRiskLevels();

    /**
     * 获取标签列表
     */
    List<Object> getTags(String category);

    /**
     * 获取股息率范围
     */
    Object getDividendYieldRange();

    /**
     * 获取分红历史范围
     */
    Object getDividendHistoryRange();

    /**
     * 获取筛选条件统计
     */
    Object getFilterStatistics();

    /**
     * 更新筛选选项缓存
     */
    void updateFilterOptionsCache();

    /**
     * 验证筛选条件
     */
    boolean validateFilterConditions(Object filterConditions);
}
